/**
 * 审批状态类型
 */
export type ApprovalStatus = 'completed' | 'pending' | 'rejected';

/**
 * 审批流程步骤类型
 */
export interface WorkflowStep {
  step: string;
  status: ApprovalStatus;
  isCurrent?: boolean;
  handler?: string;
  assistHandler?: string;
  handleTime?: string;
  result?: string;
}

/**
 * 特性信息类型
 */
export interface FeatureInfo {
  featureName: string;
  featureCode: string;
  projectName: string;
  projectCode: string;
  featureOwner: string;
}

/**
 * 变更信息类型
 */
export interface ChangeInfo {
  changeReason: string;
  changeDescription: string;
  attachments: string[];
}

/**
 * 表单数据类型
 */
export interface FormData {
  featureInfo: FeatureInfo;
  changeInfo: ChangeInfo;
}

/**
 * 处理人类型
 */
export interface Handler {
  name: string;
  code: string;
}

/**
 * 完整审批数据类型
 */
export interface ApprovalData {
  approvalId: string;
  title: string;
  workflow: WorkflowStep[];
  formData: FormData;
  handlers: Handler[];
}

/**
 * WorkflowSteps组件Props类型
 */
export interface WorkflowStepsProps {
  workflow: WorkflowStep[];
  loading: boolean;
}

/**
 * FeatureInfo组件Props类型
 */
export interface FeatureInfoProps {
  featureInfo: FeatureInfo;
  loading: boolean;
}

/**
 * ChangeInfo组件Props类型
 */
export interface ChangeInfoProps {
  changeInfo: ChangeInfo;
  loading: boolean;
}

/**
 * ActionButtons组件Props类型
 */
export interface ActionButtonsProps {
  onClose: () => void;
  onSave: () => void;
  onApprove: () => void;
  onReject: () => void;
  loading: boolean;
}

/**
 * 通知记录类型
 */
export interface NotificationItem {
  time: string;
  content: string;
} 